//
//  UIView+hhhh.m
//  jisuan
//
//  Created by 恩叔 on 16/1/25.
//  Copyright © 2016年 enshu. All rights reserved.
//

#import "UIView+hhhh.h"
#import "Masonry.h"
@implementation UIView (hhhh)
//水平分布间隔
- (void) distributeSpacingHorizontallyWith:(NSArray*)views
{
    //开辟数组个数加1 的空间
    NSMutableArray *spaces = [NSMutableArray arrayWithCapacity:views.count + 1];
    //循环创建 间隔视图
    for ( int i = 0 ; i < views.count + 1 ; ++i )
    {
        //创建视图
        UIView *v = [UIView new];
        [spaces addObject:v];
        [self addSubview:v];
        //设置他们的 宽 高
        [v mas_makeConstraints:^(MASConstraintMaker *make) {
            make.width.equalTo(v.mas_height);
        }];
    }
    //新建一个视图
    UIView *v0 = spaces[0];
    //设置最左边的占位视图
    __block __typeof(&*self)ws = self;
    //设置 左边 等于 根视图的左边
    //设置 中心点的Y值 等于 传递过来的视图数组的第0位的 中心点的Y
    [v0 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(ws.mas_left);
        make.centerY.equalTo(((UIView*)views[0]).mas_centerY);
    }];
    //新建一个 末尾空间 然后 左边第一个视图
    //为什么呢?
    //因为现在 视图中 我们未铺设呢 视图上 view 个数 是空的0 所以末尾视图就是在视图的最左边
    UIView *lastSpace = v0;
    for ( int i = 0 ; i < views.count; ++i )
    {
        //进行循环 视图 铺设
        //你一个 我一个
        //传递进来的 视图数组中的第0 为时
        UIView *obj = views[i];
        //间隔视图 是第1 位了
        UIView *space = spaces[i+1];
        //设置 传递进来视图的 添加在末尾视图的左边
        [obj mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(lastSpace.mas_right);
        }];
        //设置 占位视图的左边 等于 循环视图的右边
        [space mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(obj.mas_right);
            make.centerY.equalTo(obj.mas_centerY);
            make.width.equalTo(v0);
        }];
        //把末尾我视图设置成 间隔视图
        lastSpace = space;
    }
    //最后设置末尾视图距离边界 0
    [lastSpace mas_makeConstraints:^(MASConstraintMaker *make) {
        make.right.equalTo(ws.mas_right);
    }];
    
}
//distribute 分配,分布,
//Spacing  间隔
//Vertically 垂直的
//
- (void) distributeSpacingVerticallyWith:(NSArray*)views
    {
        //spaces 空间
        //开辟一个容量为 views.count + 1 个数的数组
        NSMutableArray *spaces = [NSMutableArray arrayWithCapacity:views.count+1];
        
        for ( int i = 0 ; i < views.count+1 ; ++i )
        {
            //循环创建视图
            //让他们做彼此的天使 拥有同样的梦想,同样的世界,同样的宽
            UIView *v = [UIView new];
            [spaces addObject:v];
            [self addSubview:v];
            
            [v mas_makeConstraints:^(MASConstraintMaker *make) {
                make.width.equalTo(v.mas_height);
            }];
        }
        
        
        UIView *v0 = spaces[0];
        
        __block __typeof(&*self)ws = self;
        
        [v0 mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(ws.mas_top);
            make.centerX.equalTo(((UIView*)views[0]).mas_centerX);
        }];
        
        UIView *lastSpace = v0;
        for ( int i = 0 ; i < views.count; ++i )
        {
            UIView *obj = views[i];
            UIView *space = spaces[i+1];
            
            [obj mas_makeConstraints:^(MASConstraintMaker *make) {
                make.top.equalTo(lastSpace.mas_bottom);
            }];
            
            [space mas_makeConstraints:^(MASConstraintMaker *make) {
                make.top.equalTo(obj.mas_bottom);
                make.centerX.equalTo(obj.mas_centerX);
                make.height.equalTo(v0);
            }];
            
            lastSpace = space;
        }
        
        [lastSpace mas_makeConstraints:^(MASConstraintMaker *make) {
            make.bottom.equalTo(ws.mas_bottom);
        }];
    }

@end
